将自己在小程序中遇到的一些问题和解决办法总结一下~
本地模拟数据
data.js
// 本地模拟数据const userInfo ={ "nickName": "yeo", "publish": 11, "fans": 8, "follow": 10}// 定义数据出口module.exports = { userInfo: userInfo}
在开发页面中使用数据源
//引入本地json数据,这里引入的就是第一步定义的json数据const userInfo = require('../../data/userInfo.js');...this.setData({ userInfo: userInfo.userInfo });
循环列表点击添加样式
...... like(e) { let index = e.currentTarget.dataset.index; let arr = this.data.comment.comment; if (arr[index].isSelected) { arr[index].isSelected = false; } else { arr[index].isSelected = true; } this.setData({ [`comment.comment[${index}].isSelected`]: arr[index].isSelected }) } { {item.author}} { {item.detail}} { {item.time}} { {item.likes}}次赞
setData设置数组对象的某个属性值
假设一个对象数组:
comment:[ {'aaa':'111' 'isSelected':false }, {'aaa':'222' 'isSelected':false }]
想要设置comment的isSelected属性,
this.setData({ comment[index].isSelected: true//index为下标(代码表示场景)});//因为index为变量,且存在[],所以我们可以用拼接字符串的方式that.setData({ [bingo]:1})//但是每次都要定义变量看起来就躁//所以可以这样that.setData({ [`comment[${index}].isSelected`]:true //模板字符串里面用${}计算属性});...//data格式data: { addressData:{ name:'', tel:'', address:'', more:'' }, defult:''},//setData的使用方法that.setData({ ['addressData.address']: '大地影院'})